package cn.com.blueInfo.bpm.login.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

@Data
@Schema(description = "登录信息 接收参数")
public class LoginInfoDTO {

    @NotBlank(message = "用户名 不能为空")
    @Schema(description = "用户名")
    private String loginName;
    /** 登录密码（密文） */
    @NotBlank(message = "登录密码 不能为空")
    @Size(min = 8, max = 20, message = "密码必须8-20位，包含数字、大小写字母、不能以数字开头")
    @Pattern(
            regexp = "^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])[A-Za-z][A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]{7,19}$",
            message = "密码必须8-20位，包含数字、大小写字母，不能以数字开头"
    )
    @Schema(description = "密码")
    private String password;

}
